Next.jsãã©ããã¢ãŒãã§ã·ãŒã ã¬ã¹ãªã³ã³ãã³ããã¬ãã¥ãŒãå®çŸãã³ã³ãã³ãå¶äœè ãæ¯æŽããã³ã©ãã¬ãŒã·ã§ã³ãæ¹åããã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã«åããã³ã³ãã³ãå質ã確ä¿ããæ¹æ³ãåŠã³ãŸãã
Next.jsãã©ããã¢ãŒãïŒã°ããŒãã«ããŒã ã®ããã®ã³ã³ãã³ããã¬ãã¥ãŒã®å¹çå
仿¥ã®ããŒã¹ã®éãããžã¿ã«ç°å¢ã«ãããŠãé«å質ã§é åçãªã³ã³ãã³ããæäŸããããšã¯æåã®ããã«äžå¯æ¬ ã§ããã°ããŒãã«ããŒã ã«ãšã£ãŠãããã¯ãã°ãã°è€æ°ã®ãã©ãããã©ãŒã ã§ã³ã³ãã³ãã管çããç°ãªãèšèªãå°åéã§äžè²«æ§ã確ä¿ããããšãæå³ããŸããNext.jsãã©ããã¢ãŒãã¯ãã³ã³ãã³ããã¬ãã¥ãŒã®ã¯ãŒã¯ãããŒãå¹çåããã³ã³ãã³ãå¶äœè ãæ¯æŽããã³ã©ãã¬ãŒã·ã§ã³ãæ¹åããããã®åŒ·åãªãœãªã¥ãŒã·ã§ã³ãæäŸããŸãã
Next.jsãã©ããã¢ãŒããšã¯ïŒ
Next.jsãã©ããã¢ãŒãã䜿çšãããšãNext.jsã®éççæããµãŒããŒãµã€ãã¬ã³ããªã³ã°ããã€ãã¹ããããŒãžããªã³ããã³ãã§ã¬ã³ããªã³ã°ã§ããŸããããã«ãããå ¬éåã«ã³ã³ãã³ãã®å€æŽããªã¢ã«ã¿ã€ã ã§ãã¬ãã¥ãŒããããšãå¯èœã«ãªããŸããããã¯ãã³ã³ãã³ã管çã·ã¹ãã ïŒCMSïŒã§äœæ¥ããŠããéã«ç¹ã«äŸ¿å©ã§ãã³ã³ãã³ãã®æŽæ°ãå ¬éåã«ã¬ãã¥ãŒããæ¿èªããå¿ èŠããããŸãã
æ±äº¬ã®ããŒã±ãã£ã³ã°ããŒã ãåç±³ã®é¡§å®¢ãã¿ãŒã²ããã«ãããŠã§ããµã€ãã®ããŒã ããŒãžãæŽæ°ããŠããã·ããªãªãæ³åããŠã¿ãŠãã ããããã©ããã¢ãŒãã䜿ãã°ã圌ãã¯å€æŽãå³åº§ã«ãã¬ãã¥ãŒã§ããã³ã³ãã³ããæ£ç¢ºã§ãé åçã§ãæåçã«é©åã§ããããšãå ¬éåã«ç¢ºèªã§ããŸãããã®ãªã¢ã«ã¿ã€ã ã®ãã£ãŒãããã¯ã«ãŒãã¯ããšã©ãŒã®ãªã¹ã¯ãå€§å¹ ã«æžãããã³ã³ãã³ãå šäœã®å質ãåäžãããŸãã
Next.jsãã©ããã¢ãŒãã䜿çšããã¡ãªãã
Next.jsã¢ããªã±ãŒã·ã§ã³ã«ãã©ããã¢ãŒããå®è£ ãããšãããã€ãã®äž»èŠãªå©ç¹ããããŸãïŒ
- ã³ã³ãã³ãå質ã®åäžïŒ ã³ã³ãã³ãå¶äœè ã¯ãçŸå®çãªç°å¢ã§å€æŽããã¬ãã¥ãŒã§ãããããå ¬éåã«ãšã©ãŒãç¹å®ãä¿®æ£ã§ããŸãã
- ã³ã©ãã¬ãŒã·ã§ã³ã®åŒ·åïŒ ãã©ããã¢ãŒãã¯ãã³ã³ãã³ãå¶äœè ãç·šéè ãéçºè éã®ã³ã©ãã¬ãŒã·ã§ã³ãä¿é²ããå šå¡ãåãèªèãæã€ããšãä¿èšŒããŸãã
- è¿ éãªã³ã³ãã³ãæŽæ°ïŒ 倿Žããªã¢ã«ã¿ã€ã ã§ãã¬ãã¥ãŒã§ãããããæ°ããã³ã³ãã³ããå ¬éããã®ã«ãããæéãå€§å¹ ã«ççž®ãããŸãã
- ãšã©ãŒãªã¹ã¯ã®äœæžïŒ éçºããã»ã¹ã®æ©ã段éã§ãšã©ãŒãæããããšã«ããããã©ããã¢ãŒãã¯äžæ£ç¢ºãŸãã¯èª€è§£ãæãã³ã³ãã³ããå ¬éãããªã¹ã¯ãæå°éã«æããŸãã
- ã¯ãŒã¯ãããŒã®å¹çåïŒ ãã©ããã¢ãŒãã¯äººæ°ã®CMSãã©ãããã©ãŒã ãšã·ãŒã ã¬ã¹ã«çµ±åãããã³ã³ãã³ãäœæãšå ¬éã®ã¯ãŒã¯ãããŒãç°¡çŽ åããŸãã
- ã°ããŒãã«ã³ã³ãã³ã管çïŒ å€æ§ãªå°åã®ã³ã³ãã³ãã管çããéã«äžå¯æ¬ ãªãã©ããã¢ãŒãã¯ãäžçäžã®ããŒã ããããã€åã«ç¿»èš³ãæåçãªé©å¿ãæ£ããããšã確èªã§ããããã«ããŸãã
Next.jsãã©ããã¢ãŒãã®å®è£ æ¹æ³
Next.jsã¢ããªã±ãŒã·ã§ã³ã«ãã©ããã¢ãŒããå®è£ ããã«ã¯ãããã€ãã®äž»èŠãªã¹ããããå¿ èŠã§ãïŒ
1. CMSã®èšå®
æåã®ã¹ãããã¯ãCMSããã©ããã¢ãŒãããµããŒãããããã«èšå®ããããšã§ããContentfulãSanityãStrapiãªã©ã®ææ°ã®ãããã¬ã¹CMSãã©ãããã©ãŒã ã®ã»ãšãã©ã¯ããã©ããã¢ãŒãã®çµã¿èŸŒã¿ãµããŒããæäŸããŠããŸããæå¹ã«ããããã®å ·äœçãªæé ã«ã€ããŠã¯ãã䜿ãã®CMSã®ããã¥ã¡ã³ããåç §ããŠãã ããã
äŸãã°ãContentfulã䜿çšããŠããå Žåããã¬ãã¥ãŒç°å¢çšã«å¥ã®APIããŒãäœæããå¿ èŠããããŸãããã®APIããŒã«ãããã©ã€ãç°å¢ã«åœ±é¿ãäžããããšãªããContentfulããäžæžãã³ã³ãã³ããååŸã§ããŸãã
2. ãã©ããã¢ãŒããæå¹ã«ããããã®APIã«ãŒãã®äœæ
次ã«ãNext.jsã¢ããªã±ãŒã·ã§ã³ã§ãã©ããã¢ãŒããæå¹ã«ããAPIã«ãŒããäœæããå¿ èŠããããŸãããã®ã«ãŒãã¯éåžžãCMSããã·ãŒã¯ã¬ããããŒã¯ã³ãåãåããæ¿èªããããŠãŒã¶ãŒã®ã¿ããã©ããã¢ãŒãã«å ¥ããããã«ããŸãã
以äžã¯ããã©ããã¢ãŒããæå¹ã«ããAPIã«ãŒãã®äŸã§ãïŒ
// pages/api/draft.js
import { enablePreview } from '../../utils/draft'
export default async function handler(req, res) {
// ã·ãŒã¯ã¬ãããšã¹ã©ãã°ã確èª
// ãã®ã·ãŒã¯ã¬ããã¯ããã®APIã«ãŒããšCMSã®ã¿ãç¥ã£ãŠããå¿
èŠããããŸãã
if (req.query.secret !== process.env.CONTENTFUL_PREVIEW_SECRET) {
return res.status(401).json({ message: 'ç¡å¹ãªããŒã¯ã³ã§ã' })
}
// ã¯ãããŒãèšå®ããŠãã©ããã¢ãŒããæå¹ã«ãã
res.setPreviewData({})
// ãã©ããã¢ãŒãæå¹ååŸãããŒã ããŒãžã«ãªãã€ã¬ã¯ã
res.redirect('/')
res.end()
}
ãã®ã³ãŒãã¹ããããã¯ãåºæ¬çãªAPIãšã³ããã€ã³ãã瀺ããŠããŸããéèŠãªã®ã¯ã`CONTENTFUL_PREVIEW_SECRET`ç°å¢å€æ°ããªã¯ãšã¹ãã®ã¯ãšãªãã©ã¡ãŒã¿ãšæ¯èŒãããç¹ã§ããäžèŽããå Žåã`res.setPreviewData({})`ãã¯ãããŒãä»ããŠãã©ããã¢ãŒããæå¹åããŸããæåŸã«ããŠãŒã¶ãŒã¯ããŒã ããŒãžã«ãªãã€ã¬ã¯ããããŸãã
3. äžæžãã³ã³ãã³ãã®ååŸ
ãã©ããã¢ãŒããæå¹ã«ããã®ã§ã次ã¯ãã©ããã¢ãŒããã¢ã¯ãã£ããªãšãã«äžæžãã³ã³ãã³ããååŸããããã«ããŒã¿ååŸããžãã¯ãæŽæ°ããå¿ èŠããããŸãã`getStaticProps`ãŸãã¯`getServerSideProps`ããæäŸããã`preview`ããããã£ã䜿çšããŠããã©ããã¢ãŒããæå¹ãã©ããã倿ã§ããŸãã
`getStaticProps`ã§äžæžãã³ã³ãã³ããååŸããæ¹æ³ã®äŸã以äžã«ç€ºããŸãïŒ
export async function getStaticProps({ preview = false }) {
const post = await getPostBySlug(slug, preview)
return {
props: {
post,
preview,
},
}
}
ãã®äŸã§ã¯ã`getPostBySlug`颿°ã¯`preview`ããããã£ã`true`ã«èšå®ãããŠããå Žåã«äžæžãã³ã³ãã³ããååŸããŸãã`preview`ããããã£ã¯ããã©ããã¢ãŒããæå¹ã«ãªã£ãŠãããšèªåçã«`getStaticProps`ã«æž¡ãããŸãã
`getPostBySlug`ã®å éšã§ã¯ãéåžžãäžæžããšã³ããªãå«ãããã«CMSã¯ãšãªãä¿®æ£ããŸããContentfulã®å Žåãããã¯APIãªã¯ãšã¹ãã«`preview: true`ãå«ããããšãæå³ããŸãã
4. äžæžãã³ã³ãã³ãã®è¡šç€º
æåŸã«ããã©ããã¢ãŒããã¢ã¯ãã£ããªãšãã«äžæžãã³ã³ãã³ãã衚瀺ããããã«ã³ã³ããŒãã³ããæŽæ°ããå¿ èŠããããŸãã`preview`ããããã£ã䜿çšããŠããã©ããã¢ãŒããæå¹ãã©ããã«åºã¥ããŠæ¡ä»¶ä»ãã§ç°ãªãã³ã³ãã³ããã¬ã³ããªã³ã°ã§ããŸãã
Reactã³ã³ããŒãã³ãã§äžæžãã³ã³ãã³ãã衚瀺ããæ¹æ³ã®äŸã以äžã«ç€ºããŸãïŒ
function Post({ post, preview }) {
return (
{post.title}
{preview && (
ãã©ããã¢ãŒããæå¹ã§ã
)}
{post.content}
)
}
ãã®ã³ãŒãã¹ããããã¯`preview`ããããã£ããã§ãã¯ããŸãããããtrueã®å Žåããã©ããã¢ãŒããã¢ã¯ãã£ãã§ããããšã瀺ãã¡ãã»ãŒãžã衚瀺ãããŸããããã«ãããã³ã³ãã³ãå¶äœè ã¯äžæžãã³ã³ãã³ããšå ¬éæžã¿ã³ã³ãã³ããæç¢ºã«åºå¥ã§ããŸãã
äŸïŒã°ããŒãã«ãªEã³ããŒã¹ãã©ãããã©ãŒã ã®ã³ã³ãã³ã管ç
è€æ°ã®åœã§è£œåã販売ããŠããã°ããŒãã«ãªEã³ããŒã¹ãã©ãããã©ãŒã ãèããŠã¿ãŸãããããã®ãã©ãããã©ãŒã ã¯ã補å説æãããã¢ãŒã·ã§ã³ãããŒãããŒã±ãã£ã³ã°ãã£ã³ããŒã³ãããŸããŸãªèšèªã§ç®¡çããå¿ èŠããããŸãã
Next.jsãã©ããã¢ãŒãã䜿çšãããšãåå°åã®ã³ã³ãã³ãå¶äœè ã¯ãå ¬éåã«å€æŽããã¬ãã¥ãŒã§ããã³ã³ãã³ããæ£ç¢ºã§ãæåçã«é©åã§ãã¿ãŒã²ãããªãŒãã£ãšã³ã¹ã«æé©åãããŠããããšã確èªã§ããŸããäŸãã°ïŒ
- ãã©ã³ã¹ã®ããŒã±ãã£ã³ã°ããŒã ã¯ãããã¢ãŒã·ã§ã³ãããŒããã©ã³ã¹èªã§ãã¬ãã¥ãŒããç¿»èš³ãæ£ç¢ºã§ãã¡ãã»ãŒãžããã©ã³ã¹ã®é¡§å®¢ã«é¿ãããšã確èªã§ããŸãã
- æ¥æ¬ã®ãããã¯ããããŒãžã£ãŒã¯ã補å説æãæ¥æ¬èªã§ãã¬ãã¥ãŒãã補åè©³çŽ°ãæ£ç¢ºã§ãããŒã³ãæ¥æ¬åžå Žã«é©ããŠããããšã確èªã§ããŸãã
- ãã©ãžã«ã®ã³ã³ãã³ãç·šéè ã¯ãããã°æçš¿ããã«ãã¬ã«èªã§ãã¬ãã¥ãŒããææ³ãšã¹ãã«ãæ£ããããšã確èªã§ããŸãã
å°åã®ããŒã ãå ¬éåã«ã³ã³ãã³ãããã¬ãã¥ãŒã§ããããã«ããããšã§ããã©ããã¢ãŒãã¯ãã©ãããã©ãŒã ãäžçäžã®é¡§å®¢ã«äžè²«ããé«å質ãªäœéšãæäŸããããšãä¿èšŒããã®ã«åœ¹ç«ã¡ãŸãã
Next.jsãã©ããã¢ãŒãã䜿çšããããã®ãã¹ããã©ã¯ãã£ã¹
Next.jsãã©ããã¢ãŒããæå€§éã«æŽ»çšããããã«ã以äžã®ãã¹ããã©ã¯ãã£ã¹ãæ€èšããŠãã ããïŒ
- 匷åãªã·ãŒã¯ã¬ããããŒã¯ã³ã䜿çšããïŒ åŒ·åãªã·ãŒã¯ã¬ããããŒã¯ã³ã§APIã«ãŒããä¿è·ããäžæ£ãªãŠãŒã¶ãŒããã©ããã¢ãŒãã«å ¥ãã®ãé²ããŸãã
- ãã¬ãã¥ãŒç°å¢çšã«å¥ã ã®APIããŒãèšå®ããïŒ ãã¬ãã¥ãŒç°å¢ãšæ¬çªç°å¢ã§å¥ã ã®APIããŒã䜿çšããå¶çºçãªããŒã¿ç Žæãé²ããŸãã
- ãã©ããã¢ãŒããã¢ã¯ãã£ããªãšããæç¢ºã«ç€ºãïŒ ãã©ããã¢ãŒããã¢ã¯ãã£ããªãšãã¯ãã³ã³ãã³ãå¶äœè ã«æç¢ºãªã¡ãã»ãŒãžã衚瀺ããäžæžãã³ã³ãã³ãããã¬ãã¥ãŒããŠããããšãç¥ãããŸãã
- ãã©ããã¢ãŒãã®å®è£ ã培åºçã«ãã¹ãããïŒ ãã©ããã¢ãŒãã®å®è£ ããã¹ãããæ£ããæ©èœããŠããããšãã³ã³ãã³ãå¶äœè ãæåŸ éãã«å€æŽããã¬ãã¥ãŒã§ããããšã確èªããŸãã
- å°çšã®ãã¬ãã¥ãŒç°å¢ã®äœ¿çšãæ€èšããïŒ å€§èŠæš¡ãªããŒã ã®å Žåãæ¬çªç°å¢ããã©ãŒãªã³ã°ããå°çšã®ãã¬ãã¥ãŒç°å¢ãèšå®ããããšãæ€èšããŠãã ãããããã«ãããããçŸå®çãªãã¬ãã¥ãŒäœéšãæäŸãããŸãã
- ã³ã³ãã³ãæ¿èªã®ããã®æç¢ºãªã¯ãŒã¯ãããŒã確ç«ããïŒ ãã¹ãŠã®ã³ã³ãã³ããå ¬éåã«ã¬ãã¥ãŒãããæ¿èªãããããã«ãã³ã³ãã³ãæ¿èªã®ããã®æç¢ºãªã¯ãŒã¯ãããŒãå®çŸ©ããŸãã
- ã³ã³ãã³ãå¶äœè ã«ãã©ããã¢ãŒãã®äœ¿ç𿹿³ããã¬ãŒãã³ã°ããïŒ ã³ã³ãã³ãå¶äœè ã«ãã©ããã¢ãŒãã广çã«äœ¿çšããæ¹æ³ã«ã€ããŠãã¬ãŒãã³ã°ãæäŸããŸããããã«ããã圌ããæ©èœãæå€§éã«æŽ»çšãããšã©ãŒã®ãªã¹ã¯ãæžããã®ã«åœ¹ç«ã¡ãŸãã
äžè¬çãªèª²é¡ãšè§£æ±ºç
Next.jsãã©ããã¢ãŒãã¯æ°å€ãã®å©ç¹ãæäŸããŸãããå®è£ äžã«ééããå¯èœæ§ã®ããããã€ãã®äžè¬çãªèª²é¡ããããŸãïŒ
- ãã£ãã·ã¥ã®ç¡å¹åïŒ ã³ã³ãã³ããæŽæ°ããããšãã«ãã£ãã·ã¥ãé©åã«ç¡å¹åãããããšãä¿èšŒããã®ã¯é£ããå ŽåããããŸããã€ã³ã¯ãªã¡ã³ã¿ã«éçåçæïŒISRïŒããµãŒããŒãµã€ãã¬ã³ããªã³ã°ïŒSSRïŒãªã©ã®æè¡ã䜿çšããŠãåžžã«ææ°ã®ã³ã³ãã³ãã衚瀺ãããããã«ããããšãæ€èšããŠãã ããã
- èªèšŒãšèªå¯ïŒ ãã©ããã¢ãŒãã®APIã«ãŒããä¿è·ããæ¿èªããããŠãŒã¶ãŒã®ã¿ãäžæžãã³ã³ãã³ãã«ã¢ã¯ã»ã¹ã§ããããã«ããããšãäžå¯æ¬ ã§ããã³ã³ãã³ããä¿è·ããããã«å ç¢ãªèªèšŒããã³èªå¯ã¡ã«ããºã ãå®è£ ããŠãã ããã
- ããã©ãŒãã³ã¹ã®æé©åïŒ äžæžãã³ã³ãã³ãã®ãã¬ãã¥ãŒã¯ãç¹ã«ããŒã¿ãå€ãè€éãªããŒãžã§ã¯ãããã©ãŒãã³ã¹ã«åœ±é¿ãäžããããšããããŸãããã¬ãã¥ãŒäœéšãã¹ã ãŒãºã§å¿çæ§ãé«ãããšãä¿èšŒããããã«ãããŒã¿ååŸãšã¬ã³ããªã³ã°ã®ããžãã¯ãæé©åããŠãã ããã
- ãµãŒãããŒãã£ãµãŒãã¹ãšã®çµ±åïŒ ãã©ããã¢ãŒããã¢ããªãã£ã¯ã¹ãæ€çŽ¢ãšã³ãžã³ãªã©ã®ãµãŒãããŒãã£ãµãŒãã¹ãšçµ±åããã®ã¯é£ããå ŽåããããŸãããããã®ãµãŒãã¹ãäžæžãã³ã³ãã³ããé©åã«åŠçããããã«èšå®ãããŠããããšã確èªããŠãã ããã
- è€éãªããŒã¿æ§é ã®åŠçïŒ CMSã§è€éãªããŒã¿æ§é ãæ±ãå Žåãäžæžãã³ã³ãã³ããé©åã«è¡šç€ºããããã«ã«ã¹ã¿ã ã³ãŒããèšè¿°ããå¿ èŠããããããããŸãããã³ã³ããŒãã³ãã§ãã¹ããããããŒã¿ããªã¬ãŒã·ã§ã³ã·ãããã©ã®ããã«åŠçããããæ éã«æ€èšããŠãã ããã
Next.jsãã©ããã¢ãŒãã®ä»£æ¿æ¡
Next.jsãã©ããã¢ãŒãã¯åŒ·åãªããŒã«ã§ãããã³ã³ãã³ããã¬ãã¥ãŒã«ã¯èæ ®ãã¹ã代æ¿ã¢ãããŒãããããŸãïŒ
- å°çšã®ãã¬ãã¥ãŒç°å¢ïŒ æ¬çªç°å¢ããã©ãŒãªã³ã°ããå¥ã®ãã¬ãã¥ãŒç°å¢ãã»ããã¢ãããããšãããçŸå®çãªãã¬ãã¥ãŒäœéšãæäŸã§ããŸãããã ãããã®ã¢ãããŒãã¯å®è£ ãããè€éã§é«äŸ¡ã«ãªãå¯èœæ§ããããŸãã
- ãããã¬ã¹CMSã®ãã¬ãã¥ãŒæ©èœïŒ å€ãã®ãããã¬ã¹CMSãã©ãããã©ãŒã ã¯ãç¬èªã®çµã¿èŸŒã¿ãã¬ãã¥ãŒæ©èœãæäŸããŠããŸãããããã®æ©èœã¯ãNext.jsã䜿çšããŠããªãå Žåããã³ã³ãã³ããã¬ãã¥ãŒãCMSã«äŸåãããå Žåã«è¯ãéžæè¢ãšãªããŸãã
- ã«ã¹ã¿ã ãã¬ãã¥ãŒãœãªã¥ãŒã·ã§ã³ïŒ CMS APIãšNext.jsã䜿çšããŠãç¬èªã®ã«ã¹ã¿ã ãã¬ãã¥ãŒãœãªã¥ãŒã·ã§ã³ãæ§ç¯ããããšãã§ããŸãããã®ã¢ãããŒãã¯æãæè»æ§ããããŸãããããå€ãã®éçºå·¥æ°ãå¿ èŠã§ãã
çµè«
Next.jsãã©ããã¢ãŒãã¯ãã³ã³ãã³ããã¬ãã¥ãŒã®ã¯ãŒã¯ãããŒãå¹çåããã³ã³ãã³ãå¶äœè ãæ¯æŽããã°ããŒãã«ããŒã ã®ã³ã©ãã¬ãŒã·ã§ã³ãæ¹åããããã®è²ŽéãªããŒã«ã§ãããã©ããã¢ãŒããå®è£ ããããšã§ãã³ã³ãã³ããå ¬éåã«æ£ç¢ºã§ãé åçã§ãæåçã«é©åã§ããããšãä¿èšŒã§ããæçµçã«ã¯ããè¯ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãšããžãã¹ææã®åäžã«ã€ãªãããŸãããã¹ããã©ã¯ãã£ã¹ãæ éã«æ€èšããäžè¬çãªèª²é¡ã«å¯ŸåŠããããšã§ãNext.jsãã©ããã¢ãŒãã®å¯èœæ§ãæå€§éã«åŒãåºããã³ã³ãã³ãäœæããã»ã¹ãå€é©ããããšãã§ããŸãã
ã°ããŒãã«ããŒã ã«ãšã£ãŠã¹ã ãŒãºã§å¹ççãªã³ã³ãã³ã管çããã»ã¹ã確ä¿ããããã«ãåžžã«ã»ãã¥ãªãã£ãããã©ãŒãã³ã¹ããããŠæç¢ºãªã³ã³ãã³ãæ¿èªã¯ãŒã¯ãããŒãåªå ããããšãå¿ããªãã§ãã ããã